﻿using System.IO;
using Realms;
using UnityEngine;

public class RealmDataSource : MonoBehaviour
{
    public Realm realmInstance;

    private void Awake()
    {
        // 1. 配置数据库路径（可选，默认在 persistentDataPath）
        string dbPath = Path.Combine(Application.persistentDataPath, "MyGameData.realm");
        Debug.Log("数据库路径：" + dbPath);
        var config = new RealmConfiguration(dbPath)
        {
            // 可选配置：数据库版本（用于数据迁移）
            SchemaVersion = 23
        };

        // 2. 创建/打开数据库（若文件不存在，会自动创建）
        realmInstance = Realm.GetInstance(config);
        //
        // // 3. 验证数据库是否创建成功
        // Debug.Log("Realm 数据库创建成功，路径：" + dbPath);
        //
        // // （可选）创建表（Realm 会自动根据实体类创建表，无需手动执行）
        // // 如需确保表存在，可调用以下代码（首次使用时自动创建）
        // realm.Write(() =>
        // {
        //     // 添加一条 Player 数据
        //     realm.Add(new Player
        //     {
        //         Id = "test_id", // 生成唯一 ID
        //         Name = "初始玩家",
        //         Level = 1,
        //         Health = 100
        //     });
        // });
        //
        // var player = realm.All<Player>().FirstOrDefault(p => p.Id == "test_id");
        // if (player != null)
        // {
        //     Debug.Log("数据已写入：" + player.Name); // 若打印，说明数据存在
        // }
        // else
        // {
        //     Debug.Log("数据未找到");
        // }
    }
}